|
|
Main menu for Browse IS/STAG
Course info
KIV / PTE
:
Course description
Department/Unit / Abbreviation
|
KIV
/
PTE
|
Academic Year
|
2023/2024
|
Academic Year
|
2023/2024
|
Title
|
Advanced Testing
|
Form of course completion
|
Exam
|
Form of course completion
|
Exam
|
Accredited / Credits
|
Yes,
4
Cred.
|
Type of completion
|
Combined
|
Type of completion
|
Combined
|
Time requirements
|
Lecture
2
[Hours/Week]
Tutorial
2
[Hours/Week]
|
Course credit prior to examination
|
Yes
|
Course credit prior to examination
|
Yes
|
Automatic acceptance of credit before examination
|
No
|
Included in study average
|
YES
|
Language of instruction
|
Czech
|
Occ/max
|
|
|
|
Automatic acceptance of credit before examination
|
No
|
Summer semester
|
0 / -
|
0 / -
|
0 / -
|
Included in study average
|
YES
|
Winter semester
|
0 / -
|
1 / -
|
0 / 15
|
Repeated registration
|
NO
|
Repeated registration
|
NO
|
Timetable
|
Yes
|
Semester taught
|
Winter semester
|
Semester taught
|
Winter semester
|
Minimum (B + C) students
|
not determined
|
Optional course |
Yes
|
Optional course
|
Yes
|
Language of instruction
|
Czech
|
Internship duration
|
0
|
No. of hours of on-premise lessons |
0
|
Evaluation scale |
1|2|3|4 |
Periodicity |
každý rok
|
Evaluation scale for credit before examination |
S|N |
Periodicita upřesnění |
|
Fundamental theoretical course |
No
|
Fundamental course |
Yes
|
Fundamental theoretical course |
No
|
Evaluation scale |
1|2|3|4 |
Evaluation scale for credit before examination |
S|N |
Substituted course
|
None
|
Preclusive courses
|
N/A
|
Prerequisite courses
|
N/A
|
Informally recommended courses
|
KIV/OKS
|
Courses depending on this Course
|
N/A
|
Histogram of students' grades over the years:
Graphic PNG
,
XLS
|
Course objectives:
|
The course will provide the knowledge and skills needed to verify the quality of larger software systems and is a basic preparation for the position of senior tester or quality manager. The course has a significant overlap from testing to software quality assurance, focuses on procedures leading to the production of low-risk software and covers most parts of the FURPS + quality dimension (functionality, usability, reliability, performance, supportability), with emphasis on automated tests and mastering higher levels of testing.
|
Requirements on student
|
- practical full-time exercises
- credit awarded for points from the exercises and for points from the term paper
- written exam and then practical / oral
|
Content
|
1. Introduction, basic terminology, project and production risks, test environments
2. Existing standards and procedures for software quality assurance (ISO / IEC 25010: 2011, IEEE 1633-2016)
3. Visualization of test results
4. Design and evaluation of benchmarks and stress tests, stress tests, recovery tests, use of appropriate tools (JMeter)
5. Methods and methodologies of usability testing
6. BDD testing
7. REST API testing
8. Symbolic execution, analysis and debugging in a running program, program memory analysis (Valgrind)
9. Monitoring of running software, usable tools and their influence on the application
10. Model checking, formal methods and tools
11. Static methods for software verification, their properties and limitations. Programming conventions (MISRA-C, CERT-C) and possibilities of their verification
12. Testing in Agile
13. Invited lecture
|
Activities
|
|
Fields of study
|
|
Guarantors and lecturers
|
|
Literature
|
|
Time requirements
|
Full-time form of study
|
Activities
|
Time requirements for activity [h]
|
Practical training (number of hours)
|
26
|
Preparation for an examination (30-60)
|
30
|
Contact hours
|
26
|
Individual project (40)
|
25
|
Total
|
107
|
|
Prerequisites
|
Knowledge - students are expected to possess the following knowledge before the course commences to finish it successfully: |
- has knowledge of the internal operation of programs (structure of program memory in C, basic operation of the stack, program flow control)
- understands the operation of tools (eg PMD) for static verification of program quality |
Skills - students are expected to possess the following skills before the course commences to finish it successfully: |
- programs in at least one extended high-level language (Java, Python, C ++) (knowledge comes from the previous Bc. study)
- routinely uses unit testing
- analyzes the tested domain, can prepare input data for testing
- uses a logging system |
Competences - students are expected to possess the following competences before the course commences to finish it successfully: |
N/A |
N/A |
|
Learning outcomes
|
Knowledge - knowledge resulting from the course: |
- Knowledge of FURPS + quality dimensions (functionality, usability, reliability, performance, supportability).
- Knowledge of (automated) preparation of test data and test results (oracles).
- Knowledge of typical problems that appear in complex IT systems and procedures to detect them
- Knowledge of methods of software quality management, use of metrics and specialized tools.
- Is aware of the existence of standards for software quality assurance (ISO / IEC 25010: 2011, IEEE 1633-2016)
- Is aware of the procedures of SW process management leading to an increase in the quality of the created SW and knows the tools managing these processes |
Skills - skills resulting from the course: |
- Able to visualize complex test results for the entire development team
- Can use BDD testing methodology and tools
- Able to test REST API
- Can design and perform performance tests correctly
- Can use sophisticated static analysis tools
- Can use tools for dynamic verification of software execution (eg Valgrind) |
Competences - competences resulting from the course: |
N/A |
N/A |
N/A |
|
Assessment methods
|
Knowledge - knowledge achieved by taking this course are verified by the following means: |
Oral exam |
Written exam |
Seminar work |
Skills - skills achieved by taking this course are verified by the following means: |
Practical exam |
Skills demonstration during practicum |
Continuous assessment |
Project |
Competences - competence achieved by taking this course are verified by the following means: |
Oral exam |
Project |
|
Teaching methods
|
Knowledge - the following training methods are used to achieve the required knowledge: |
Lecture with visual aids |
Lecture supplemented with a discussion |
E-learning |
Task-based study method |
Textual studies |
Group discussion |
Self-study of literature |
Individual study |
Students' portfolio |
Skills - the following training methods are used to achieve the required skills: |
Lecture |
Lecture supplemented with a discussion |
Practicum |
E-learning |
Task-based study method |
Group discussion |
Individual study |
Students' portfolio |
One-to-One tutorial |
Competences - the following training methods are used to achieve the required competences: |
Lecture supplemented with a discussion |
Task-based study method |
Textual studies |
Students' portfolio |
|
|
|
|